package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.model.BaseEntityPlus;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.minio.MinIOUtils;
import com.ruoyi.common.minio.MinIoConfig;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUtils;
import lombok.*;

/**
 * 文件表(SysFileInfo)表实体类
 *
 * @author jiuling
 * @since 2022-11-15 10:34:20
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SysFileInfo extends BaseEntityPlus {
    /**
     * 文件ID
     */     
    @Excel(name = "文件ID")
    private Long fileId;
    /**
     * 文件名称
     */     
    @Excel(name = "文件名称")
    private String fileName;
    /**
     * 文件类型
     */     
    @Excel(name = "文件类型")
    private String fileType;
    /**
     * 文件后缀名
     */     
    @Excel(name = "文件后缀名")
    private String fileSuffix;
    /**
     * 关联对象
     */     
    @Excel(name = "关联对象")
    private String objType;
    /**
     * 关联对象ID
     */     
    @Excel(name = "关联对象ID")
    private Long objTypeId;
    /**
     * 文件唯一标识
     */     
    @Excel(name = "文件唯一标识")
    private String groupId;
    /**
     * 对象存储OSSkey
     */     
    @Excel(name = "对象存储OSSkey")
    private String ossKey;
    /**
     * 文件大小
     */     
    @Excel(name = "文件大小")
    private Long fileSize;

    @TableField(exist = false)
    private String filePath;

    public String getFilePath() {
        return MinIoConfig.getEndpoint() + "/" + MinIoConfig.getBucketName() + "/" + MinIoConfig.getKeyPrefix() + ossKey;
    }
}
